#pragma once

#include "fxcc/core/graph/opengl3/phong/Light.h"
#include "fxcc/core/graph/opengl3/phong/Material.h"

#include "fxcc/core/graph/opengl3/pch.h"
#include "fxcc/core/graph/opengl3/Effect3d.h"

namespace fxcc
{
	namespace graph
	{
		namespace opengl3
		{
			namespace phong
			{

				struct FXCC_API Effect3d : public fxcc::graph::opengl3::Effect3d
				{
					Effect3d();

					void Begin();

					void End();

					void SetMaterial(const phong::Material & material);

					static std::string GetFragMain();
				};
			};
		};
	}
}